package zoo.zoo;

import java.util.Scanner;

public class TestZoo {
	private static Animal[] animals = new Animal[3];
	//1)����ʼ�������������
	public static void initAnimal() {
		animals[0] = new Cat("加菲猫",4);
		animals[1] = new Duck("唐小鸭",2);
		animals[2] = new Dolphin("海豚奇奇");
	}
	//2)����ʾ������Ϣ
	public static void showAnimal() {
		System.out.println("动物名字\t推得条数\t动物叫声");
		int legNum = 0;
		for (int i = 0; i < animals.length; i++) {
			Animal animal = animals[i];
			if(animal != null) {
				System.out.print(animal.getName() + "\t");
				if(animal instanceof ITerrestrial) {
					legNum = ((ITerrestrial)animal).getLegNum();
				}
				else {
					legNum = 0;
				}
				String cry = animal.shout();
				System.out.println(legNum + "\t"  + cry);
			}
		}
	}
	//�޸Ķ�����Ϣ
	public static void modifyAnimal() throws IllegalLegNumException {
		Scanner input = new Scanner(System.in);
		//�����洢�������ֺ��ȵ�������ʱ����
		String[] names = new String[3];
		int[] legNums = new int[2];
		
		
		System.out.print("请输入猫的名字:");
		names[0] = input.next();
		System.out.print("请输入猫的腿的条数:");
		legNums[0] = input.nextInt();
		if(legNums[0]  != 4) {
			throw new IllegalLegNumException("猫只有四条腿!");
		}
		////////////////////////////////////////////////////////////////////////////////////////////////////////////
		System.out.print("请输入鸭子的名字:");
		names[1] = input.next();
		System.out.print("请输入鸭子的腿的条数:");
		legNums[1] = input.nextInt();
		if(legNums[1]  != 2) {
			throw new IllegalLegNumException("鸭子只能有两条腿!");
		}
		///////////////////////////////////////////////////////////////////////////////////////////////////////////
		System.out.print("请输入海豚的名字:");
		names[2] = input.next();
		///////////////////////////////////////////////////////////////////////////////////////////////////////////
		
		animals[0] = new Cat(names[0],legNums[0]);
		animals[1] = new Duck(names[1],legNums[1]);
		animals[2] = new Dolphin(names[2]);
		
	}
	
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		
		initAnimal();
		
		showAnimal();
		int choice = 0;
		try {
			System.out.println("是否继续修改动物数据，按0进行修改操作，其他任意数字键退出系统");
			choice = input.nextInt();
			while(choice == 0) {
				
				modifyAnimal();
				
				showAnimal();
				
				System.out.println("是否继续修改动物数据，按0进行修改操作，其他任意数字键退出系统");
				choice = input.nextInt();
			}
		} catch (IllegalLegNumException e) {
			
			e.printStackTrace();
			//System.out.println(e.getMessage());
		}
		
		
	}

}
